home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-15 / check136.zip / CHECKSYS.DOC < prev    next >
Text File  |  1992-05-22  |  4KB  |  113 lines

  1.                 Command-line diagnostic CHECKSYS.EXE
  2.  
  3.  
  4. Dan Shearer, Computer Centre, University of South Australia
  5. Comments and bug reports to:  ccdps@lux.levels.unisa.edu.au
  6.  
  7. Version 1.36 released to the public domain 20th May, 1992.
  8.  
  9.  
  10. Overview
  11. ---------
  12.  
  13. CHECKSYS is a command-line diagnostic program which either gives a short
  14. description of a whole PC system, or returns a one-line description and
  15. gives an errorlevel when asked about one aspect of the system.
  16. The primary intention is for it to be used to determine system configuration
  17. and driver status from batch files. It can also be handy when wanting a
  18. quick idea of what a machine has during a system debugging session
  19. without starting up a complicated package and poking around menus.
  20.  
  21.  
  22. Reasoning Behind CHECKSYS
  23. -------------------------
  24.  
  25. We have a very mixed hardware environment at UniSA, but like to have
  26. generic batch files on the LAN. In our batch file that starts up Windows,
  27. for instance, we have several CHECKSYS calls to determine what mode
  28. Windows should be run in and what hardware drivers are needed, and also
  29. to check and see if Windows is already running.
  30.  
  31.  
  32. How it Works and Acknowledgements
  33. ---------------------------------
  34.  
  35. It is a collection of routines that I have put together in Turbo Pascal
  36. 6.0, with assembler routines to check for CPU and FPU. All the detection
  37. calls are in a self-contained TP unit, and I would be willing to release
  38. this to the public domain as well if there was a call for it.
  39.  
  40. The commandline switch checking code in CHECKSYS is with the kind permission
  41. of Rocky Stone, also of UniSA. Gary Oxton (once a UniSA student) wrote
  42. the basis of the CPU-detection assembler I have used for his final-year
  43. Computer Studies project. I have learnt about checking for memory types
  44. from the InfoPlus source code, by Andrew Rossman and Steve Grant, and
  45. used their LongCall assembler function, which overcomes a shonky feature
  46. of Turbo Pascal 6.0.
  47.  
  48. Ralf Brown's interrupt list is, of course, absolutely essential.
  49.  
  50.  
  51. Syntax
  52. ------
  53.  
  54.  CHECKSYS [/switches] 
  55.     where switches and corresponding actions are:
  56.        /ALL  Displays the messages for all tests and returns errorlevel 0
  57.        /CPU  returns errorlevel 0-8 in order for:
  58.              8088, 8086, V20, V30, 80188, 80186, Unknown, 80286, 80386
  59.        /EMM  returns errorlevel 1 if EMM driver installed, 0 if not
  60.        /FTP  returns 1 if packet driver responding else 0 if not installed
  61.        /KBD  returns errorlevel 1 if extended keyboard installed, 0 if not
  62.        /MOUSE  returns 0 for no mouse driver else number of buttons
  63.        /NETBIOS  returns errorlevel 1 if NetBIOS responding, 0 otherwise
  64.        /PAR  returns number of parallel ports recognised by BIOS
  65.        /SER  returns number of serial ports recognised by BIOS
  66.        /VID  returns 1-10 in order for:
  67.              CGA, MCGA, EGA, EGA64, EGAMon, 8514, HercMon, ATT400, VGA, PC3270
  68.        /WIN  returns 0-3 in order for:
  69.              No Windows, Win/386 2.x, Win 3.0 (/R or /S), Win 3.x (/3)
  70.        /XMS  returns 2 for XMS & HMA avail, 1 for XMS but no HMA, 0 for no XMS
  71.        /87   returns 0-3 in order for: None, 8087, 80287, 80387
  72.  
  73.        Each test also displays a detailed message to standard output.
  74.        Switches can be abbreviated to 1 letter. Errorlevel 99 for syntax error.
  75.  
  76.  
  77.  
  78. Examples:
  79.  
  80.    CHECKSYS             displays the above help message
  81.    CHECKSYS /ALL        displays detailed results of all tests
  82.    CHECKSYS /MOUSE      displays detailed info about the mouse, and
  83.                         returns errorlevels 0 for not present, 2 for two
  84.                         button mouse present or 3 for three button mouse.
  85.  
  86.  
  87. Bugs
  88. ----
  89.  
  90.    BIOS check for printer and comms ports is often not accurate. Could add
  91.    some better checks.
  92.  
  93.    The FPU check gives a silly result when used on a NEC V20 chip with an
  94.    Intel 8087 installed
  95.  
  96.    Doesn't test for Weitek FPU
  97.  
  98.    Doesn't distinguish OS/2 dos-boxes from Windows dos-boxes
  99.  
  100.    Doesn't test for various network cards
  101.  
  102.    Doesn't test for game port
  103.  
  104.    Doesn't give video chipset particulars (might be useful for running
  105.    Windows with specific screen drivers)
  106.  
  107.    Doesn't detect sound cards
  108.  
  109.    Could possibly have a TSR check, ie syntax like:
  110.  
  111.           CHECKSYS <unique TSR signature> [<optional range of interrupts>]
  112.  
  113.